/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ventasInternet.facade;

import com.ventasInternet.business.GestionProductosFacadeLocal;
import com.ventasInternet.business.GestionarClientesFacadeLocal;
import com.ventasInternet.entity.Categoria;
import com.ventasInternet.entity.Cliente;
import com.ventasInternet.entity.Imagen;
import com.ventasInternet.entity.Producto;
import com.ventasInternet.entity.Usuario;
import com.ventasInternet.entityDAO.CategoriaFacadeLocal;
import com.ventasInternet.entityDAO.ClienteFacadeLocal;
import com.ventasInternet.entityDAO.UsuarioFacadeLocal;
import java.util.List;
import javax.ejb.EJB;
//import javax.ejb.Stateful;
import javax.ejb.Stateless;

/**
 *
 * @author DESARO03
 */
//@Stateful
@Stateless
public class FacadeVentasInternet implements FacadeVentasInternetLocal {

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")
    @EJB
    CategoriaFacadeLocal categoriaFacadeLocal;
    @EJB
    GestionarClientesFacadeLocal gestionarClientesFacadeLocal;
    @EJB
    GestionProductosFacadeLocal gestionProductosFacadeLocal;

    //******************************* Categorias *******************************
    @Override
    public void removeCategoriaFL(Categoria categoria) {
        categoriaFacadeLocal.remove(categoria);
    }
    @Override
    public List<Categoria> findAllCategoriaFL() {
        return categoriaFacadeLocal.findAll();
    }
    @Override
    public Categoria findCategoriaFL(Object id) {
        return categoriaFacadeLocal.find(id);
    }
    @Override
    public void editCategoriaFL(Categoria categoria) {
        categoriaFacadeLocal.edit(categoria);
    }
    @Override
    public void createCategoriaFL(Categoria categoria) {
        categoriaFacadeLocal.create(categoria);
    }

    @Override
    public List findCategoriaByNombre(String nombreCategoria) {
        return categoriaFacadeLocal.findCategoriaByNombre(nombreCategoria);
    }
    
    //********************************* Registrar Clientes *******************************

    @Override
    public void registrarClienteFL(Usuario usuario, Cliente cliente) {
        gestionarClientesFacadeLocal.registrarCliente(usuario, cliente);
    }
    //************************ Registrar Productos ******************************

    @Override
    public void registrarProductoFL(Producto producto, List<Imagen> listImagenes) {
        gestionProductosFacadeLocal.registrarProducto(producto, listImagenes);
    }

    @Override
    public void modificarProductoFL(Producto producto,List<Imagen> listImagenes) {
        gestionProductosFacadeLocal.modificarProducto(producto,listImagenes);
    }
    
    @Override
    public List<Producto> findAllProductosFL() {
        return gestionProductosFacadeLocal.findAllProductos();
    }

    @Override
    public Producto findProductoFL(Object id) {
        return gestionProductosFacadeLocal.findProducto(id);
    }
    
}
